草庐IT

ASP.NET MVC - 安全

全部标签

c# - 在 ASP.NET 母版页中,如何在内容之前逐步呈现标题?

我有一个使用母版页的大型慢速ASP.net站点。我发现,如果用户可以在页面的其余部分生成/处理/从数据库加载时看到标题和导航,他们将获得更好的体验。我已经做了一些简单的测试,我可以在page_load()中执行Response.Write()和Response.Flush()之后,IIs将使用分块编码并立即将输出发送到浏览器,而其余的页面呈现。我想做同样的事情,但只发送母版页标题和导航。关于如何实现这一目标的任何指示?使用ASP.net4和IIs7.5编辑如果有人可以提供一些关于如何更改站点以使用AJAX而无需更改每个页面和链接的指示,我将不胜感激。谢谢!

c# - 将方法放入任务中以避免阻塞 asp.net 线程

我想知道以下代码是否有任何我在网络服务器上运行时不知道的陷阱。通读精品系列http://reedcopsey.com/series/parallelism-in-net4/我找不到与我的问题具体相关的任何内容,与msdn一样,所以我想我会把它带到这里。调用示例:publicActionResultIndex(){ViewBag.Message="WelcometoASP.NETMVC!";Task.Factory.StartNew(()=>{//ThisissomelongcompletingtaskthatIdon'tcareabout//Sayloggingtothedatabas

c# - 将 ASP.NET MVC 5 项目迁移到 ASP.NET 5

我有一个正在运行的ASP.NETMVC5应用程序,我需要在vNext下运行它。我假设没有简单的导入可能性,所以我需要手动进行。所以基本上我有一个空白的vNext项目和一个准备好的MVC5项目。我将尝试复制文件并重写JSON配置文件中的所有依赖项。也许有人试图做类似的事情并且可以推荐实现此任务的最佳方法和关键点? 最佳答案 有一些陷阱。其中之一是使用臭名昭著的HttpContext.Current。它在vNext中基本上消失了。查看您的代码库中是否对此有任何用途。在我个人看来,作为一般方法,永远不要尝试一次性升级应用程序。有太多的新作

c# - 检查 null 线程安全吗?

我有一些代码在新线程上抛出异常,我需要在主线程上确认和处理这些异常。为实现这一点,我通过使用保存抛出异常的字段在线程之间共享状态。我的问题是我是否需要在检查null时使用锁,就像我在下面的代码示例中所做的那样?publicclassMyClass{readonlyobject_exceptionLock=newobject();Exception_exception;publicMyClass(){Task.Run(()=>{while(CheckIsExceptionNull()){//Thisconditionalwillreturntrueif'somethinghasgonew

c# - 如何从 EF 的非异步 SaveChanges 安全地调用异步方法?

我正在使用ASP.NETCore和具有SaveChanges和SaveChangesAsync的EFCore。在保存到数据库之前,在我的DbContext中,我执行了一些审计/日志记录:publicasyncTaskLogAndAuditAsync(){//doasyncstuff}publicoverrideintSaveChanges{/*await*/LogAndAuditAsync();//whatdoIdohere???returnbase.SaveChanges();}publicoverrideasyncTaskSaveChangesAsync{awaitLogAndAu

c# - CultureInfo线程安全

我有一个多线程应用程序来解析一些文本,它需要使用英语文化信息来解析文本中的数字。所以,我不想每次调用解析函数时都创建EngCulture。目前我将EngCulture作为参数传递,但我对此并不满意。我想将EngCulture定义为静态成员,以便线程共享它。Msdn文档说“此类型的任何公共(public)静态(在VisualBasic中共享)成员都是线程安全的。不保证任何实例成员都是线程安全的。”我只是在使用以下函数,那么我怎么知道TryParse是否使用了EngCulture的任何实例成员?publicstaticCultureInfoEngCulture=newCultureInfo

c# - ASP.Net c# 选择了给定 GroupName 中的哪个单选按钮?

我有30个单独的RadioButton。我不能使用RadioButtonList。共有3组按钮。每个组都有一个唯一的组名。一切都在网络浏览器中正常工作。我如何在回发中判断在每个给定的GroupsNames中选择了哪个按钮?编辑:我使用的函数privatestringgetRadioValue(ControlCollectionclts,stringgroupName){stringret="";foreach(Controlctlinclts){if(ctl.Controls.Count!=0){if(ret=="")ret=getRadioValue(ctl.Controls,gro

c# - ASP.NET MVC 上传文件超时

我目前有一个具有文件上传功能的ASP.NETMVC项目,如果用户有足够好的连接并且他们的文件大小合理,它会很好用。我遇到的问题是,有时用户可能有56k连接(我不知道他们在这个时代如何忍受它)或者正在上传更大的文件或一些组合两个。我想为普通页面保留一个小的超时时间(90秒左右),但为用户上传的操作允许一个更大的超时时间。这只是一个操作,所以我不介意将代码放在单个操作而不是通用解决方案中。最终,如果Request.Files.Count>0会自动增加超时的解决方案是最好的。 最佳答案 我不确定这是否适用于MVC项目,但您可以尝试在您的w

c# - 通过线程池多路复用 C# 5.0 的异步——线程安全吗?

这可能看起来有点疯狂,但如果我可以合理地确定它不会导致奇怪的行为,我正在考虑将其作为更大库的一部分。方法:使用分派(dispatch)到线程池的SynchronizationContext运行异步用户代码。用户代码看起来像这样:asyncvoidDoSomething(){intsomeState=2;awaitDoSomethingAsync();someState=4;awaitDoSomethingElseAsync();//someStateguaranteedtobe4?}我不确定对someState的访问是否是线程安全的。虽然代码将在一个“线程”中运行,这样操作实际上是完全

c# - 使用静态工厂 Func<T> 为 ASP.NET 应用程序创建 "Ambient Context"(UserContext)

我发现几乎每个类(Controller、View、HTML帮助程序、服务等)我都需要当前登录的用户数据。所以我考虑创建一个“环境上下文”而不是直接注入(inject)IUserService或用户。我的方法看起来像那样。publicclassBootstrapper{publicvoidBoot(){varcontainer=newContainer();//thecalltoIUserService.GetUseriscachedperHttprequest//byusingadynamicproxycachingmechanism,thatalsohandlescaseswhere